package com.open.capacity.reptile.excel;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import java.math.BigDecimal;
import java.util.Date;


@Data
public class PayVoucherBillExcelModel implements IExcelDataModel, IExcelModel {
    //行号
    private Integer rowNum;
    //错误消息
    private String errorMsg;


    @Excel(name = "年度", width = 10)
    private Integer fiscalYear;


    @Excel(name = "制单日期", width = 30, format = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd hh:mm:ss")
    private Date vouDate;

    @Excel(name = "凭证号", width = 30)
    private String payCertNo;

    @Excel(name = "付款方名称", width = 30)
    private String payerName;

    @Excel(name = "付款方账号", width = 30)
    private String payerAccNo;

    @Excel(name = "收款方名称", width = 30)
    private String receiverName;

    @Excel(name = "收款方账号", width = 30)
    private String receiverAccNo;


    @Excel(name = "支付金额", width = 30)
    private BigDecimal payAmt;


    @Excel(name = "功能分类名称", width = 30)
    private String expFuncName;

    @Excel(name = "功能分类编码", width = 15)
    private String expFuncCode;

    @Excel(name = "政府经济分类名称", width = 30)
    private String govBgtEcoName;

    @Excel(name = "政府经济分类编码", width = 15)
    private String govBgtEcoCode;

    @Excel(name = "部门经济分类名称", width = 30)
    private String depBgtEcoName;

    @Excel(name = "部门经济分类编码", width = 15)
    private String depBgtEcoCode;

    @Excel(name = "支付日期", width = 30, format = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd hh:mm:ss")
    private Date actPayDate;

    @Excel(name = "单位名称", width = 30)
    private String agencyName;

    @Excel(name = "单位编码", width = 10)
    private String agencyCode;


    @Excel(name = "资金用途", width = 10)
    private String useFund;

    @Excel(name = "结算方式编码", width = 10)
    private String setModeCode;

    @Excel(name = "一级项目编码", width = 30)
    private String proCode;

    @Excel(name = "项目分类编码", width = 10)
    private String proCatCode;

    @Excel(name = "项目分类名称", width = 20)
    private String proCatName;


    @Excel(name = "指标来源", width = 15)
    private String sourceName;

    @Excel(name = "支付说明", width = 30)
    private String paySummary;


    @Excel(name = "预算项目编码", width = 30)
    private String bgtProCode;

    @Excel(name = "预算项目名称", width = 30)
    private String bgtProName;

    @Excel(name = "代理行号", width = 10)
    private String agentBankCode;

    @Excel(name = "代理行名称", width = 30)
    private String agentBankName;

    @Excel(name = "业务类型编码", width = 10)
    private String businessTypeCode;

    @Excel(name = "业务类型名称", width = 20)
    private String businessTypeName;


    @Excel(name = "申请号", width = 30)
    private String applyNo;

    @Excel(name = "结算方式名称", width = 10)
    private String setModeName;

    @Excel(name = "支付方式", width = 20)
    private String payTypeName;


    @Excel(name = "指标id", width = 10)
    private String bgtId;

    @Excel(name = "一级项目名称", width = 30)
    private String proName;


    @Excel(name = "预算级次", width = 10)
    private String budgetLevelName;


    @Excel(name = "科室编码", width = 10)
    private String bgtMofDepCode;

    @Excel(name = "科室名称", width = 10)
    private String bgtMofDepName;

    @Excel(name = "指标文批", width = 30)
    private String corBgtDocNo;


    @Excel(name = "人员类项目目录编码", width = 10)
    private String personCatalogueCode;

    @Excel(name = "人员类项目目录名称", width = 30)
    private String personCatalogueName;

    @Excel(name = "项目类型编码", width = 10)
    private String proCateCode;

    @Excel(name = "项目类型名称", width = 10)
    private String proCateName;

    @Excel(name = "支付方向编码", width = 10)
    private String proPayDicCode;

    @Excel(name = "支付方向名称", width = 10)
    private String proPayDicName;


    @Excel(name = "指标来源预算处编码", width = 20)
    private String sourceTypeYscCode;

    @Excel(name = "指标来源预算处名称", width = 30)
    private String sourceTypeYscName;


}
